zkPass Nasıl Çalışır?
Web2 dünyasındaki merkezi kuruluşlar çoğunlukla hassas özel verileri elinde bulundurduğu için, zkPass standart TLS protokolünü yeniden yapılandırmıştır. Önde gelen MPC ve ZKP teknolojilerini kullanarak Web2 ve Web3'teki güvendiği özel verileri birleştiren zkPass, DeSoc oluşturmak için yüksek derecede kullanılabilir bir özel veri katmanı sağlar. Bu entegre çözüm, gizlilik koruması için sağlam bir temel sunar.
Özel Veri Kaynağının Güvenilirliği
Özel veri kaynağının güvenilirliği en üst düzeyde önemlidir çünkü genellikle hükümet kurumları, eğitim kurumları, finans kurumları ve kimlik belgeleri ve kayıtlar yayınlayan diğer yetkili kuruluşlar gibi merkezi kuruluşlardan kaynaklanır. Bu belgeler ve kayıtlar hükümet tarafından verilen kimlik kartları, diplomalar, transkriptler, banka hesabı bilgileri, araç kayıt kayıtları ve daha fazlasını içerebilir. Özel verilerin meşruiyetini sağlamak için, zkPass'ın güvendiği veri kaynaklarından geldiğini doğrular ve bu kaynaklar sıkı bir doğrulama sürecinden geçer.
Ayrıca, zkPass farklı kullanıcılar ve iş senaryoları için tasarlanmış özelleştirilebilir ve esnek şablonlar sağlar. Bu şablonlar, özel verileri çalmayı ve veri kaynağının güvenilirliğini zayıflatmayı hedefleyen phishing sitelerinin kötü niyetli davranışını önlemeye yardımcı olan bir denetim mekanizması içerir.
Özel Verilerin Otantikliği
Özel verilerin otantikliğini sağlamak kritik öneme sahiptir ve zkPass bunu başarmak için gelişmiş gizlilik hesaplama tekniklerini kullanır. Oblivious Transfer (OT) ve Garbled Circuit (GC) gibi yüksek performanslı algoritmaları kullanarak güvenli Multi-Party Computation (MPC) uygular. Bu yaklaşım, müşterilerin özel verileriyle yerel olarak oynama girişiminde bulunan dolandırıcı davranışı etkili bir şekilde önler.
Her kimlik doğrulama turunda, zkPass rastgele bir grup zkPass Düğümü atar, bir istemci oluşturur ki buna zkPass Kit denir. İstemci, zkPass Görev Akıllı Sözleşmesi tarafından denetlenen standart Transport Layer Security (TLS) protokolünü kullanarak güvenilir veri kaynağı sunucusuna erişir. Bu, veri güvenliğini sağlar, çünkü zkPass Düğümü yalnızca Oturum Anahtarındaki MacKey Payını elinde bulundurur ve bu, veri güvenliğine tehdit oluşturmaz. Buna karşın, zkPass Kit tam EncKey'e ve MacKey Payının diğer yarısına sahiptir. Bu yaklaşım, bir müşteri özel verileriyle yerel olarak oynama girişiminde bulunursa zkPass Düğümünün hızla dolandırıcı davranışı algılamasını ve reddetmesini sağlar.
Gelişmiş gizlilik hesaplama tekniklerini kullanarak, zkPass özel verilerin otantikliğini sağlar, bu da kimlik sahtekarlığına karşı son derece etkili bir çözüm haline getirir.
Özel Verilerin Gizliliği
Özel veri için gizlilik koruması zkPass için en üst düzey önceliktir. Bir müşterinin özel verisi taahhüt edildikten sonra, zkPass onların yerel olarak Zero-Knowledge Proofs (ZKPs) oluşturmasını sağlar. Bu, zkPass'ın herhangi bir gizlilikle ilgili bilgiyi ifşa etmemesini sağlar. Ancak, bu süreç özellikle müşterinin donanım kaynakları sınırlı olduğunda kaynak yoğun ve yavaş olabilir. Bu zorlukları ele almak için, zkPass VOLE tabanlı doğrusal taahhüt ve yüksek performanslı IZK algoritmalarını kullanır.
Etkileşimli IZK algoritması, TrustSetup ihtiyacını ortadan kaldırır, Provers ve Verifiers'ın doğrudan etkileşime geçmesini sağlar. Vector Oblivious Linear Evaluation (VOLE) oluşturur ve her kapıyı VOLE kullanarak taahhüt eder, bu da işlem verimliliğinin artmasını sağlar. VOLE'nin doğrusallığı, toplu işlem yapmayı sağlar, Provers ve Verifiers'ın kendi konumlarında ayrı ayrı hesaplama yapmasına olanak tanır. Sonuçlar daha sonra toplanabilir ve doğrulanabilir, bu da hesaplama verimliliğini önemli ölçüde artırır.
zkPass tarafından kullanılan gelişmiş algoritmalar, müşterilerin özel verilerinin güvenli ve özel bir şekilde ele alınmasını sağlar, hatta donanım kaynakları sınırlı olsa bile. Sonuç olarak, zkPass, hassas özel bilgileri koruma konusunda etkili bir çözüm sağlar, bu da onu kimlik hırsızlığı ve dolandırıcılığı önleme konusunda kritik bir araç haline getirir.
Özel Verilerin Doğrulanabilirliği
Kimlik veri güvenliği için doğrulanabilirlik kritik öneme sahiptir ve zkPass güvenilir bir çözüm sunar. Müşterinin ZKP'si oluşturulduğunda, bu blockchain'e yüklenebilir, bu da herkesin sadece zkPass Doğrulama Akıllı Sözleşmesini çağırarak kimliklerini doğrulamasını sağlar.
Bu sürecin yalnızca doğrulama koşullarını ortaya çıkardığını ve müşteri hakkında herhangi bir özel bilgiyi ifşa etmediğini belirtmek önemlidir, örneğin, 18 yaşından büyük olma erişim gereksinimini karşılayıp karşılamadıkları gibi. Bu özellik, kişisel bilgilerini özel tutmak isteyen müşteriler için kritik öneme sahiptir. Örneğin, ZKP'yi direkt olarak belirli bir programa gönderebilirler, bu da kimliklerini özel tutarken hizmete erişmelerini sağlar.
Bu seviyede bir doğrulanabilirlik sağlarken müşterilerin hassas bilgilerini özel tutar.
Özel Veri Çeşitliliği ve Etkileşimlilik
zkPass protokolü, müşterinin belirli bir uygulama senaryosundaki benzersiz verilerini temsil eden bir zk-tabanlı Soul Bound Token (zkSBT) oluşturur. zkPass zkSBT'si ERC-998 standart protokolüne uyar ve diğer protokoller bu tür bir entegrasyon gerektirmez. SBT, güvendiği veri kaynaklarından kaynaklanan çeşitli Claims'lerden oluşan yapraklarıyla bir Hash Tree olarak yapılandırılmıştır. zkPass doğrulaması iki aşamada gerçekleşir: mClaim ZK kanıtı, hedef alanın güvendiği bir veri kaynağından kaynaklandığını ve mClaim Tree içinde olduğunu doğrular, qClaim ZK kanıtı ise hedef alanın mClaim Tree içinde olduğunu ve mantıksal ifadeyi tatmin ettiğini doğrular. Tip temsilciliği tSBT'yi (Tip, örneğin "Ben bir araba sahibiyim") ve dSBT'yi (Datasource, örneğin "Mercedes ve BMW") içerir. tSBT aracılığıyla, bir otomobil ittifakı DAO tamamen bir araba sahibinin kimliğini belirleyebilir ve sonraki türev faaliyetlerini gerçekleştirebilir, bu da etkileşimliliği gösterir.
zkPass protokolü çeşitli özel veri kaynaklarını destekler, bireylerin özel verilerini çeşitli senaryolarda güvenli ve verimli bir şekilde kanıtlamasını sağlar. Ayrıca, ERC-998 standart protokolüne uygun zkPass zkSBT yapısı, diğer sistemlerle etkileşimliliği sağlar, kimlik verilerinin çeşitli uygulamalara entegrasyonunu kolaylaştırır. Genel olarak, zkPass bugünün dijital manzarasında özel veri doğrulaması için kapsamlı ve güvenli bir çözüm sağlar.
TLS (Transport Layer Security)
Türkçe olarak Taşıma Katmanı Güvenliği anlamına gelir. Bilgisayar ağları üzerinde iletişimi güvence altına almak için tasarlanmış kriptografik bir protokoldür. SSL (Güvenli Giriş Katmanı) protokolünü takip eder ve online alışveriş, e-posta ve diğer hassas veri transferleri de dahil olmak üzere HTTP (Hypertext Transfer Protocol) işlemlerini korumak için yaygın olarak kullanılır.
TLS'nin ilk sürümü olan TLS 1.0, SSL 3.0'ın bir türevidir ve 1999 yılında tanıtılmıştır. Daha sonraki sürümler, 2006 yılında TLS 1.1, 2008 yılında TLS 1.2 ve 2018 yılında TLS 1.3, yeni özellikler ve geliştirilmiş güvenlik getirmiştir.
TLS protokolü, asimetrik ve simetrik şifreleme yöntemlerinin bir kombinasyonunu kullanır. Asimetrik şifreleme, diğer adıyla açık anahtarlı şifreleme, şifreleme ve şifre çözme için kamu anahtarlarının değiş tokuşuyla taraflar arasında güvenli bağlantılar kurar. Buna karşılık, simetrik şifreleme, taraflar arasında iletilen verilerin şifrelenmesi ve şifre çözülmesi için kullanılır.
zkPass Protokolü'nün geniş uyumluluk ve hızlı veri kaynağı erişimi sunması için neredeyse tüm TLS bileşenlerini verimli Oblivious Transfer Extension (OTE) ve Multi-Party Computation (MPC) algoritmalarını kullanarak yeniden yapılandırdık. Standart 2 taraflı TLS protokolünü 3 taraflı bir TLS protokolü içerecek şekilde genişlettik. Sonuç olarak, bir tarayıcı aracılığıyla erişilen herhangi bir HTTPS web sitesi, zkPass Protokolü için potansiyel bir veri kaynağı haline gelir. Bu geliştirme, Web3'ün güvenilir kimlik katmanını önemli ölçüde güçlendirir ve Web3 manzarasında sınırsız olasılıkların kilidini açar.
MPC (Çok Taraflı Hesaplama),
Kökenini 1982 yılında Andrew Yao tarafından önerilen milyoner probleminden almaktadır. MPC, katılımcıların kendi özel girdilerini ifşa etmeden bir fonksiyonu ortaklaşa hesaplamalarını sağlar. Hesaplama sırasında bir veya daha fazla tarafın kompromize uğraması durumunda bile, MPC katılımcıların orijinal gizli verilerinin gizliliğini ve fonksiyonun çıktısının doğruluğunu garanti altına alır.
MPC teorisinin gelişimiyle birlikte, Garbled Circuits (GC), Secret Sharing (SS), Homomorphic Encryption (HE) ve Oblivious Transfer (OT) gibi çeşitli özel teknikler ortaya çıkmıştır. Bu teknikler, gizlilik korumalı hesaplamanın farklı yönlerini ele alır ve benzersiz güvenlik özellikleri ile performans karakteristikleri sunar.
zkPass Protokolü, önemli miktarda bit işlemi gerektirir. Bu nedenle, yüksek performanslı Oblivious Transfer Extension (OTE) ve Garbled Circuits (GC) algoritmaları uygulama için seçilmiştir. Bu algoritmalar, güvenli hesaplamaların verimliliğini optimize ederken sağlam gizlilik garantilerini korur ve zkPass Protokolü'nün karmaşık gereksinimlerine ideal bir uyum sağlar. Bu gelişmiş MPC tekniklerini kullanarak, zkPass Protokolü, Web3 ekosisteminin taleplerini karşılayan gizlilik korumalı, yüksek performanslı bir kimlik çözümü sunabilir.
ZKP (Sıfır-bilgi Kanıtı)
Etkileşimli Kanıt Sistemi Hesaplamalı karmaşıklık teorisinde, etkileşimli kanıt sistemi, hesaplamanın iki taraf arasında mesaj alışverişi şeklinde temsil edildiği bir modeldir: ispat eden ve doğrulayıcı. Bu taraflar, belirli bir dilde bir dizenin olup olmadığını belirlemek için etkileşimde bulunurlar. İspat edenin sınırsız hesaplama kaynaklarına sahip olmasına rağmen, güvenilmez olduğu kabul edilir. Buna karşılık, doğrulayıcının sınırlı hesaplama gücü vardır ancak dürüst olduğu varsayılır. Mesaj alışverişi, doğrulayıcının çözümden memnun kalıp doğruluğuna ikna olana kadar devam eder.
Temel olarak, etkileşimli bir kanıt sistemi aşağıdaki gibi anlaşılabilir:
İspat edenin, bir sırrın bilgisine sahip olduğunu doğrulayıcıya kanıtlamak için etkileşimli bir yöntem.
Tamamlanma: İspat edilen doğrudur, doğrulayıcı bu gerçeğe ikna olur.
Sağlamlık: İspat edilen yanlıştır, hiçbir hilekar ispat eden doğrulayıcıyı doğrunun doğru olduğuna ikna edemez.
zkPass'teki ZKP uygulaması
Etkileşimli olmayan sıfır-bilgi (NIZK) algoritmaları, programları polinomlara dönüştürür ve bu polinomlara bağlı kalır. Örneğin, klasik PLONK algoritması, her bir kapıya ve aralarındaki ilişkilere bağlılık gerektirir. Bağlanırken, her kapı, eliptik eğri eşlemesine dayanan bağlılıklarla bağlıdır ve bu, ispat edenin ZKP üretmek için geniş bellek ve zaman gerektirir. Ayrıca TrustSetup gereklidir ve müşterinin ZKP ürettiği senaryolarda zorlu olabilir.
Buna karşılık, IZK algoritmaları etkileşimlidir ve TrustSetup gerektirmez. Doğrudan Vector Oblivious Linear Evaluation (VOLE) oluşturabilir ve her kapıya bağlanabilirler. VOLE'nin doğrusal olması, toplu işleme imkanı sağlar. İspat eden ve doğrulayıcı aynı anda yerel hesaplamalar yapabilir, sonunda sonuçları birleştirip doğrulayabilir, hesaplama verimliliğini önemli ölçüde artırır. Bu iyileştirmeler, ürünün 2.0 sürümünde uygulanması planlanmaktadır.
IZK (Etkileşimli Sıfır-Bilgi)
zk-SNARK ve zk-STARK gibi Etkileşimli Olmayan Sıfır-Bilgi (NIZK) Kanıt sistemlerinde, hesaplamalar devreler olarak temsil edilir ve devre içindeki kapı kısıtlamaları bir dizi polinom olarak gösterilir. Eğer bir hesaplama birden fazla devre gerektiriyorsa, tüm bu devreler tek bir büyük devre haline getirilerek sunulmalıdır. Bu yaklaşımın güvene dayalı varsayımları olmasına rağmen, genellikle tarayıcı ortamlarında gerçekleştirilmesi mümkün olmayacak kadar büyük bir bellek alanını gerektirir.
Bu sorunu ele almak için VOLE (Vector Oblivious Linear Evaluation) temelli IZKP kullanıyoruz. Lineer doğası, devreleri ayrı ayrı sunmamıza ve bellek boyutunu etkili bir şekilde dengelememize olanak sağlar. Ayrıca, IZKP güvenilir bir kurulum gerektirmez, böylece sıfır-bilgi kanıtlarının tarayıcı ortamında oluşturulmasına imkan tanır.
LPN (Gürültülü Parite Öğrenme)
LPN (Gürültülü Parite Öğrenme), modern kriptografinin temel matematiksel bir problemidir ve güvenli şifreleme algoritmaları oluşturmak için yaygın olarak kullanılır. Gizli bilgiyi hatalarla birlikte denklem kümesi olarak temsil etmeye dayanır, bu da herhangi bir sınırlı saldırganın onu bulmasını zorlaştırır. LPN, hata düzeltme kodları teorisiyle benzerlik gösteren, post-kuantum zorluk varsayımı olan umut verici bir problemdir.
zkPass Protokolünün sıfır-bilgi kanıt protokolü çalıştığında sağladığı kriptografik güvenlik garantisi, LPN varsayımından türetilir.
OT (Bilgisiz Transfer)
1981 yılında Rabin tarafından önerilen OT, çeşitli güvenli çok taraflı hesaplama ve gizlilik koruma uygulamaları için temel bir yapı taşı haline gelmiştir. zkPass Protokolünde, Base OT ve Random OT verimli veri alışverişi yapmak için temel olarak kullanılır.
OTE (Bilgisiz Transfer Uzantısı)
Her iki Standart OT ve ROT, her örnek için genel anahtar şifrelemesi gerektirdiği için oldukça maliyetlidir. Bunu çözmek için, bir milyondan fazla OT örneğinin (128) sabit bir sayıda genel anahtar şifreleme işlemi kullanılarak oluşturulmasına izin veren bir teknik geliştirdik. Bu yazıda, OT Uzantısı için verimli bir protokol olan [IKNP03] detaylı olarak açıklanmaktadır.
PCG (Yalancı Rasgele İlişkili Üreteç)
Yalancı Rasgele İlişkili Üreteç, ilişkili rasgele sayı dizileri üreten bir tür rasgele sayı üretecidir. Standart rasgele sayı üreteçlerinden farklı olarak, ilişkili rasgele üreteçler, birbirleriyle belirli bir şekilde ilişkili olan sayı dizileri üretir.
İlişkili rasgele sayıların üretilmesi, karmaşık sistemlerin simülasyonlarında, finansal modellemede ve veri analizinde olduğu gibi birçok uygulamada önemlidir. Bu uygulamalarda genellikle, oto-korelasyon, çapraz-korelasyon veya birlikte olasılık dağılımları gibi belirli ilişkileri veya bağımlılıkları sergileyen rasgele sayı dizilerinin üretilmesi gerekmektedir.
Yalancı rasgele ilişkili bir üreteç kullanmanın bir avantajı, nispeten düşük hesaplama maliyetiyle ilişkili büyük rasgele sayı dizilerinin üretilebilmesidir.